Dispatch engine for optimizing demand-response thermostat events

ABSTRACT

A thermostat management server may include one or more processors and one or more memory devices comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising receiving information that characterizes energy usage associated with the plurality of thermostats, receiving parameters characterizing proposed future demand-response events, selecting a combination of thermostats from the plurality of thermostats for which the energy usage can be reduced, simulating a demand response event based on the parameters and using different weather conditions for the combination of the plurality of thermostats, generating statistical probabilities of meeting a plurality of capacity reduction levels based on the different weather conditions, selecting a capacity reduction level from the plurality of capacity reduction levels based on the statistical probabilities, and sending the capacity reduction level to the utility provider computer system.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.62/265,326 filed on Dec. 9, 2015, which is incorporated herein byreference.

BACKGROUND

Microprocessor controlled “smart” thermostats may have advancedenvironmental control capabilities that can save energy while alsokeeping occupants comfortable. To do this, these smart thermostatsrequire more information from the occupants as well as the environmentswhere the thermostats are located. These thermostats may also be capableof connection to computer networks, including both local area networks(or other “private” networks) and wide area networks such as theInternet (or other “public” networks), in order to obtain current andforecasted outside weather data, cooperate in so-called demand-responseprograms (e.g., automatic conformance with power alerts that may beissued by utility companies during periods of extreme weather), enableusers to have remote access and/or control thereof through theirnetwork-connected device (e.g., smartphone, tablet computer, PC-basedweb browser), and other advanced functionalities. Of particularimportance is the ability to accurately assess the state of occupancy ofa home and to provide a meaningful, yet simple user interface forresponding to user inputs.

BRIEF SUMMARY

In some embodiments, a thermostat management server comprising mayinclude one or more processors and one or more memory devices includinginstructions that, when executed by the one or more processors, causethe one or more processors to perform operations including receiving,from a plurality of thermostats, information that characterizes energyusage associated with the plurality of thermostats. The operations mayalso include receiving, from a utility provider computer system,parameters characterizing proposed future demand-response events, andselecting a combination of thermostats from the plurality of thermostatsfor which the energy usage can be reduced. The operations mayadditionally include simulating a demand response event based on theparameters and using different weather conditions for the combination ofthe plurality of thermostats, and generating statistical probabilitiesof meeting a plurality of capacity reduction levels based on thedifferent weather conditions. The operations may further includeselecting a capacity reduction level from the plurality of capacityreduction levels based on the statistical probabilities, and sending thecapacity reduction level to the utility provider computer system.

In some embodiments, a method for responding to requests to fulfillfuture power capacity reductions may include receiving, from a pluralityof thermostats, information that characterizes energy usage associatedwith the plurality of thermostats, and receiving, from a utilityprovider computer system, parameters characterizing proposed futuredemand-response events. The method may also include selecting, by athermostat management server, a combination of thermostats from theplurality of thermostats for which the energy usage can be reduced, andsimulating, by the thermostat management server, a demand response eventbased on the parameters and using different weather conditions for thecombination of the plurality of thermostats. The method may additionallyinclude generating, by the thermostat management server, statisticalprobabilities of meeting a plurality of capacity reduction levels basedon the different weather conditions, and selecting, by the thermostatmanagement server, a capacity reduction level from the plurality ofcapacity reduction levels based on the statistical probabilities. Themethod may further include sending, by the thermostat management server,the capacity reduction level to the utility provider computer system.

In some embodiments, a non-transitory, computer-readable medium mayinclude instructions that, when executed by one or more processors,cause the one or more processors to perform operations includingreceiving, from a plurality of thermostats, information thatcharacterizes energy usage associated with the plurality of thermostats,and receiving, from a utility provider computer system, parameterscharacterizing proposed future demand-response events. The operationsmay also include selecting a combination of thermostats from theplurality of thermostats for which the energy usage can be reduced, andsimulating a demand response event based on the parameters and usingdifferent weather conditions for the combination of the plurality ofthermostats. The operations may additionally include generatingstatistical probabilities of meeting a plurality of capacity reductionlevels based on the different weather conditions, and selecting acapacity reduction level from the plurality of capacity reduction levelsbased on the statistical probabilities. The operations may furtherinclude sending the capacity reduction level to the utility providercomputer system.

In any embodiments, one or more of the following features may beimplemented in any combination and without limitation. The parameterscharacterizing the proposed future demand-response events may include acapacity reduction requirement. The parameters characterizing theproposed future demand-response events may include payout ratio vs.delivered-capacity ratio. Simulating the demand response event mayinclude using a plurality of Monte-Carlo simulations. Themethod/operations may also include loading a dispatch engine to selectthe combination of thermostats from the plurality of thermostats forwhich the energy usage can be reduced, selecting the combination ofthermostats from the plurality of thermostats for which the energy usagecan be reduced, determining whether an actual energy usage of thecombination of thermostats meets the capacity reduction level, andadding or subtracting thermostats from the combination of thermostatsduring successive time intervals to meet the capacity reduction level.The information that characterizes the energy usage associated with theplurality of thermostats may include HVAC capacities and thermalcharacteristics of associated buildings. Simulating the demand responseevent may include compensating for simulation noise. The statisticalprobabilities of meeting a plurality of capacity reduction levels mayinclude a plurality of probability curves, wherein the plurality ofprobability curves comprises an expected value curve, a 10^(th)percentile curve, and the 90^(th) percentile curve.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example of a smart home environment within whichone or more of the devices, methods, systems, services, and/or computerprogram products described further herein can be applicable.

FIG. 2 illustrates a network-level view of an extensible devices andservices platform with which the smart home of FIG. 1 can be integrated,according to some embodiments.

FIG. 3 illustrates an abstracted functional view of the extensibledevices and services platform of FIG. 2, according to some embodiments.

FIG. 4 illustrates a schematic diagram of an HVAC system, according tosome embodiments.

FIG. 5A-5D illustrate a thermostat having a visually pleasing, smooth,sleek and rounded exterior appearance while at the same time includingone or more sensors for detecting occupancy and/or users, according tosome embodiments.

FIG. 6A-6B illustrate exploded front and rear perspective views,respectively, of a thermostat with respect to its two main components,according to some embodiments.

FIG. 6C-6D illustrate exploded front and rear perspective views,respectively, of a head unit with respect to its primary components,according to some embodiments.

FIG. 6E-6F illustrate exploded front and rear perspective views,respectively, of a head unit display assembly with respect to itsprimary components, according to some embodiments.

FIG. 6G-6H illustrate exploded front and rear perspective views,respectively, of a back plate unit with respect to its primarycomponents, according to some embodiments.

FIG. 7 illustrates a block diagram illustrating circuitry within athermostat, according to some embodiments.

FIG. 8 illustrates an example of a smart home environment, within whichone or more of the devices, methods, systems, services, and/or computerprogram products described further herein can be applicable.

FIG. 9 illustrates a flowchart of a method for scheduling individualloads for a load-drop event, according to some embodiments.

FIG. 10 illustrates a system diagram of a thermostat management serverthat includes the dispatch engine and bidding engine, according to someembodiments.

FIG. 11 illustrates a flowchart of a method for estimating an optimalamount of load capacity to agree to shed during future DR events,according to some embodiments.

FIG. 12 illustrates a graph of a penalty based on a delivered capacityratio.

FIG. 13 illustrates an example set of curves, according to someembodiments.

DETAILED DESCRIPTION OF THE INVENTION

The Smart-Home Environment

A detailed description of the inventive body of work is provided herein.While several embodiments are described, it should be understood thatthe inventive body of work is not limited to any one embodiment, butinstead encompasses numerous alternatives, modifications, andequivalents. In addition, while numerous specific details are set forthin the following description in order to provide a thoroughunderstanding of the inventive body of work, some embodiments can bepracticed without some or all of these details. Moreover, for thepurpose of clarity, certain technical material that is known in therelated art has not been described in detail in order to avoidunnecessarily obscuring the inventive body of work.

As used herein the term “HVAC” includes systems providing both heatingand cooling, heating only, cooling only, as well as systems that provideother occupant comfort and/or conditioning functionality such ashumidification, dehumidification and ventilation.

As used herein the terms power “harvesting,” “sharing” and “stealing”when referring to HVAC thermostats all refer to thermostats that aredesigned to derive power from the power transformer through theequipment load without using a direct or common wire source directlyfrom the transformer.

As used herein the term “residential” when referring to an HVAC systemmeans a type of HVAC system that is suitable to heat, cool and/orotherwise condition the interior of a building that is primarily used asa single family dwelling. An example of a cooling system that would beconsidered residential would have a cooling capacity of less than about5 tons of refrigeration (1 ton of refrigeration=12,000 Btu/h).

As used herein the term “light commercial” when referring to an HVACsystem means a type of HVAC system that is suitable to heat, cool and/orotherwise condition the interior of a building that is primarily usedfor commercial purposes, but is of a size and construction that aresidential HVAC system is considered suitable. An example of a coolingsystem that would be considered residential would have a coolingcapacity of less than about 5 tons of refrigeration.

As used herein the term “thermostat” means a device or system forregulating parameters such as temperature and/or humidity within atleast a part of an enclosure. The term “thermostat” may include acontrol unit for a heating and/or cooling system or a component part ofa heater or air conditioner. As used herein the term “thermostat” canalso refer generally to a versatile sensing and control unit (VSCU unit)that is configured and adapted to provide sophisticated, customized,energy-saving HVAC control functionality while at the same time beingvisually appealing, non-intimidating, elegant to behold, anddelightfully easy to use.

FIG. 1 illustrates an example of a smart home environment within whichone or more of the devices, methods, systems, services, and/or computerprogram products described further herein can be applicable. Thedepicted smart home environment includes a structure 150, which caninclude, e.g., a house, office building, garage, or mobile home. It willbe appreciated that devices can also be integrated into a smart homeenvironment that does not include an entire structure 150, such as anapartment, condominium, or office space. Further, the smart homeenvironment can control and/or be coupled to devices outside of theactual structure 150. Indeed, several devices in the smart homeenvironment need not physically be within the structure 150 at all. Forexample, a device controlling a pool heater or irrigation system can belocated outside of the structure 150.

The depicted structure 150 includes a plurality of rooms 152, separatedat least partly from each other via walls 154. The walls 154 can includeinterior walls or exterior walls. Each room can further include a floor156 and a ceiling 158. Devices can be mounted on, integrated with and/orsupported by a wall 154, floor or ceiling.

The smart home depicted in FIG. 1 includes a plurality of devices,including intelligent, multi-sensing, network-connected devices that canintegrate seamlessly with each other and/or with cloud-based serversystems to provide any of a variety of useful smart home objectives.One, more or each of the devices illustrated in the smart homeenvironment and/or in the figure can include one or more sensors, a userinterface, a power supply, a communications component, a modularity unitand intelligent software as described herein. Examples of devices areshown in FIG. 1.

An intelligent, multi-sensing, network-connected thermostat 102 candetect ambient climate characteristics (e.g., temperature and/orhumidity) and control a heating, ventilation and air-conditioning (HVAC)system 103. One or more intelligent, network-connected, multi-sensinghazard detection units 104 can detect the presence of a hazardoussubstance and/or a hazardous condition in the home environment (e.g.,smoke, fire, or carbon monoxide). One or more intelligent,multi-sensing, network-connected entryway interface devices 106, whichcan be termed a “smart doorbell”, can detect a person's approach to ordeparture from a location, control audible functionality, announce aperson's approach or departure via audio or visual means, or controlsettings on a security system (e.g., to activate or deactivate thesecurity system).

Each of a plurality of intelligent, multi-sensing, network-connectedwall light switches 108 can detect ambient lighting conditions, detectroom-occupancy states and control a power and/or dim state of one ormore lights. In some instances, light switches 108 can further oralternatively control a power state or speed of a fan, such as a ceilingfan. Each of a plurality of intelligent, multi-sensing,network-connected wall plug interfaces 110 can detect occupancy of aroom or enclosure and control supply of power to one or more wall plugs(e.g., such that power is not supplied to the plug if nobody is athome). The smart home may further include a plurality of intelligent,multi-sensing, network-connected appliances 112, such as refrigerators,stoves and/or ovens, televisions, washers, dryers, lights (inside and/oroutside the structure 150), stereos, intercom systems, garage-dooropeners, floor fans, ceiling fans, whole-house fans, wall airconditioners, pool heaters 114, irrigation systems 116, security systems(including security system components such as cameras, motion detectorsand window/door sensors), and so forth. While descriptions of FIG. 1 canidentify specific sensors and functionalities associated with specificdevices, it will be appreciated that any of a variety of sensors andfunctionalities (such as those described throughout the specification)can be integrated into the device.

In addition to containing processing and sensing capabilities, each ofthe devices 102, 104, 106, 108, 110, 112, 114 and 116 can be capable ofdata communications and information sharing with any other of thedevices 102, 104, 106, 108, 110, 112, 114 and 116, as well as to anycloud server or any other device that is network-connected anywhere inthe world. The devices can send and receive communications via any of avariety of custom or standard wireless protocols (Wi-Fi, ZigBee,6LoWPAN, Thread, Bluetooth, BLE, HomeKit Accessory Protocol (HAP),Weave, etc.) and/or any of a variety of custom or standard wiredprotocols (CAT6 Ethernet, HomePlug, etc.). The wall plug interfaces 110can serve as wireless or wired repeaters, and/or can function as bridgesbetween (i) devices plugged into AC outlets and communicating usingHomeplug or other power line protocol, and (ii) devices that not pluggedinto AC outlets.

For example, a first device can communicate with a second device via awireless router 160. A device can further communicate with remotedevices via a connection to a network, such as the Internet 162. Throughthe Internet 162, the device can communicate with a central server or acloud-computing system 164. The central server or cloud-computing system164 can be associated with a manufacturer, support entity or serviceprovider associated with the device. For one embodiment, a user may beable to contact customer support using a device itself rather thanneeding to use other communication means such as a telephone orInternet-connected computer. Further, software updates can beautomatically sent from the central server or cloud-computing system 164to devices (e.g., when available, when purchased, or at routineintervals).

By virtue of network connectivity, one or more of the smart-home devicesof FIG. 1 can further allow a user to interact with the device even ifthe user is not proximate to the device. For example, a user cancommunicate with a device using a computer (e.g., a desktop computer,laptop computer, or tablet) or other portable electronic device (e.g., asmartphone). A webpage or app can be configured to receivecommunications from the user and control the device based on thecommunications and/or to present information about the device'soperation to the user. For example, the user can view a current setpointtemperature for a device and adjust it using a computer. The user can bein the structure during this remote communication or outside thestructure.

The smart home also can include a variety of non-communicating legacyappliances 140, such as old conventional washer/dryers, refrigerators,and the like which can be controlled, albeit coarsely (ON/OFF), byvirtue of the wall plug interfaces 110. The smart home can furtherinclude a variety of partially communicating legacy appliances 142, suchas IR-controlled wall air conditioners or other IR-controlled devices,which can be controlled by IR signals provided by the hazard detectionunits 104 or the light switches 108.

FIG. 2 illustrates a network-level view of an extensible devices andservices platform with which the smart home of FIG. 1 can be integrated,according to some embodiments. Each of the intelligent,network-connected devices from FIG. 1 can communicate with one or moreremote central servers or cloud computing systems 164. The communicationcan be enabled by establishing connection to the Internet 162 eitherdirectly (for example, using 3G/4G connectivity to a wireless carrier),though a hubbed network (which can be scheme ranging from a simplewireless router, for example, up to and including an intelligent,dedicated whole-home control node), or through any combination thereof.

The central server or cloud-computing system 164 can collect operationdata 202 from the smart home devices. For example, the devices canroutinely transmit operation data or can transmit operation data inspecific instances (e.g., when requesting customer support). The centralserver or cloud-computing architecture 164 can further provide one ormore services 204. The services 204 can include, e.g., software update,customer support, sensor data collection/logging, remote access, remoteor distributed control, or use suggestions (e.g., based on collectedoperation data 204 to improve performance, reduce utility cost, etc.).Data associated with the services 204 can be stored at the centralserver or cloud-computing system 164 and the central server orcloud-computing system 164 can retrieve and transmit the data at anappropriate time (e.g., at regular intervals, upon receiving requestfrom a user, etc.).

One salient feature of the described extensible devices and servicesplatform, as illustrated in FIG. 2, is a processing engines 206, whichcan be concentrated at a single server or distributed among severaldifferent computing entities without limitation. Processing engines 206can include engines configured to receive data from a set of devices(e.g., via the Internet or a hubbed network), to index the data, toanalyze the data and/or to generate statistics based on the analysis oras part of the analysis. The analyzed data can be stored as derived data208. Results of the analysis or statistics can thereafter be transmittedback to a device providing ops data used to derive the results, to otherdevices, to a server providing a webpage to a user of the device, or toother non-device entities. For example, use statistics, use statisticsrelative to use of other devices, use patterns, and/or statisticssummarizing sensor readings can be transmitted. The results orstatistics can be provided via the Internet 162. In this manner,processing engines 206 can be configured and programmed to derive avariety of useful information from the operational data obtained fromthe smart home. A single server can include one or more engines.

The derived data can be highly beneficial at a variety of differentgranularities for a variety of useful purposes, ranging from explicitprogrammed control of the devices on a per-home, per-neighborhood, orper-region basis (for example, demand-response programs for electricalutilities), to the generation of inferential abstractions that canassist on a per-home basis (for example, an inference can be drawn thatthe homeowner has left for vacation and so security detection equipmentcan be put on heightened sensitivity), to the generation of statisticsand associated inferential abstractions that can be used for governmentor charitable purposes. For example, processing engines 206 can generatestatistics about device usage across a population of devices and sendthe statistics to device users, service providers or other entities(e.g., that have requested or may have provided monetary compensationfor the statistics). As specific illustrations, statistics can betransmitted to charities 222, governmental entities 224 (e.g., the Foodand Drug Administration or the Environmental Protection Agency),academic institutions 226 (e.g., university researchers), businesses 228(e.g., providing device warranties or service to related equipment), orutility companies 230. These entities can use the data to form programsto reduce energy usage, to preemptively service faulty equipment, toprepare for high service demands, to track past service performance,etc., or to perform any of a variety of beneficial functions or tasksnow known or hereinafter developed.

FIG. 3 illustrates an abstracted functional view of the extensibledevices and services platform of FIG. 2, with particular reference tothe processing engine 206 as well as the devices of the smart home. Eventhough the devices situated in the smart home will have an endlessvariety of different individual capabilities and limitations, they canall be thought of as sharing common characteristics in that each of themis a data consumer 302 (DC), a data source 304 (DS), a services consumer306 (SC), and a services source 308 (SS). Advantageously, in addition toproviding the essential control information needed for the devices toachieve their local and immediate objectives, the extensible devices andservices platform can also be configured to harness the large amount ofdata that is flowing out of these devices. In addition to enhancing oroptimizing the actual operation of the devices themselves with respectto their immediate functions, the extensible devices and servicesplatform can also be directed to “repurposing” that data in a variety ofautomated, extensible, flexible, and/or scalable ways to achieve avariety of useful objectives. These objectives may be predefined oradaptively identified based on, e.g., usage patterns, device efficiency,and/or user input (e.g., requesting specific functionality).

For example, FIG. 3 shows processing engine 206 as including a number ofparadigms 310. Processing engine 206 can include a managed servicesparadigm 310 a that monitors and manages primary or secondary devicefunctions. The device functions can include ensuring proper operation ofa device given user inputs, estimating that (e.g., and responding to) anintruder is or is attempting to be in a dwelling, detecting a failure ofequipment coupled to the device (e.g., a light bulb having burned out),implementing or otherwise responding to energy demand response events,or alerting a user of a current or predicted future event orcharacteristic. Processing engine 206 can further include anadvertising/communication paradigm 310 b that estimates characteristics(e.g., demographic information), desires and/or products of interest ofa user based on device usage. Services, promotions, products or upgradescan then be offered or automatically provided to the user. Processingengine 206 can further include a social paradigm 310 c that usesinformation from a social network, provides information to a socialnetwork (for example, based on device usage), processes data associatedwith user and/or device interactions with the social network platform.For example, a user's status as reported to their trusted contacts onthe social network could be updated to indicate when they are home basedon light detection, security system inactivation or device usagedetectors. As another example, a user may be able to share device-usagestatistics with other users. Processing engine 206 can include achallenges/rules/compliance/rewards paradigm 310 d that informs a userof challenges, rules, compliance regulations and/or rewards and/or thatuses operation data to determine whether a challenge has been met, arule or regulation has been complied with and/or a reward has beenearned. The challenges, rules or regulations can relate to efforts toconserve energy, to live safely (e.g., reducing exposure to toxins orcarcinogens), to conserve money and/or equipment life, to improvehealth, etc.

Processing engine can integrate or otherwise utilize extrinsicinformation 316 from extrinsic sources to improve the functioning of oneor more processing paradigms. Extrinsic information 316 can be used tointerpret operational data received from a device, to determine acharacteristic of the environment near the device (e.g., outside astructure that the device is enclosed in), to determine services orproducts available to the user, to identify a social network orsocial-network information, to determine contact information of entities(e.g., public-service entities such as an emergency-response team, thepolice or a hospital) near the device, etc., to identify statistical orenvironmental conditions, trends or other information associated with ahome or neighborhood, and so forth.

An extraordinary range and variety of benefits can be brought about by,and fit within the scope of, the described extensible devices andservices platform, ranging from the ordinary to the profound. Thus, inone “ordinary” example, each bedroom of the smart home can be providedwith a smoke/fire/CO alarm that includes an occupancy sensor, whereinthe occupancy sensor is also capable of inferring (e.g., by virtue ofmotion detection, facial recognition, audible sound patterns, etc.)whether the occupant is asleep or awake. If a serious fire event issensed, the remote security/monitoring service or fire department isadvised of how many occupants there are in each bedroom, and whetherthose occupants are still asleep (or immobile) or whether they haveproperly evacuated the bedroom. While this is, of course, a veryadvantageous capability accommodated by the described extensible devicesand services platform, there can be substantially more “profound”examples that can truly illustrate the potential of a larger“intelligence” that can be made available. By way of perhaps a more“profound” example, the same data bedroom occupancy data that is beingused for fire safety can also be “repurposed” by the processing engine206 in the context of a social paradigm of neighborhood childdevelopment and education. Thus, for example, the same bedroom occupancyand motion data discussed in the “ordinary” example can be collected andmade available for processing (properly anonymized) in which the sleeppatterns of schoolchildren in a particular ZIP code can be identifiedand tracked. Localized variations in the sleeping patterns of theschoolchildren may be identified and correlated, for example, todifferent nutrition programs in local schools.

FIG. 4 is a schematic diagram of an HVAC system, according to someembodiments. HVAC system 103 provides heating, cooling, ventilation,and/or air handling for an enclosure, such as structure 150 depicted inFIG. 1. System 103 depicts a forced air type heating and cooling system,although according to other embodiments, other types of HVAC systemscould be used such as radiant heat based systems, heat-pump basedsystems, and others.

For carrying out the heating function, heating coils or elements 442within air handler 440 provide a source of heat using electricity or gasvia line 436. Cool air is drawn from the enclosure via return air duct446 through filter 470, using fan 438 and is heated through heatingcoils or elements 442. The heated air flows back into the enclosure atone or more locations via supply air duct system 452 and supply airregisters such as register 450. In cooling, an outside compressor 430passes a refrigerant gas through a set of heat exchanger coils and thenthrough an expansion valve. The gas then goes through line 432 to thecooling coils or evaporator coils 434 in the air handler 440 where itexpands, cools and cools the air being circulated via fan 438. Ahumidifier 454 may optionally be included in various embodiments thatreturns moisture to the air before it passes through duct system 452.Although not shown in FIG. 4, alternate embodiments of HVAC system 103may have other functionality such as venting air to and from theoutside, one or more dampers to control airflow within the duct system452 and an emergency heating unit. Overall operation of HVAC system 103is selectively actuated by control electronics 412 communicating withthermostat 102 over control wires 448.

The Smart-Home Thermostat

FIGS. 5A-5D illustrate a thermostat having a rounded exterior appearanceand including one or more sensors for detecting environmentalconditions, such as occupancy and/or users, temperature, ambient light,humidity, and so forth. FIG. 5A is front view, FIG. 5B is a bottomelevation, FIG. 5C is a right side elevation, and FIG. 5D is perspectiveview of thermostat 102. Unlike many prior art thermostats, thermostat102 has a simple and elegant design. Moreover, user interaction withthermostat 102 is facilitated and greatly enhanced over knownconventional thermostats. The thermostat 102 includes control circuitryand is electrically connected to an HVAC system 103, such as is shown inFIGS. 1-4. Thermostat 102 is wall mountable, is circular in shape, andhas an outer rotatable ring 512 for receiving user input. Thermostat 102has a large convex rounded front face lying inside the outer rotatablering 512. According to some embodiments, thermostat 102 is approximately84 mm in diameter and protrudes from the wall, when wall mounted, by 30mm. The outer rotatable ring 512 allows the user to make adjustments,such as selecting a new setpoint temperature. For example, by rotatingthe outer ring 512 clockwise, the real-time (i.e. currently active)setpoint temperature can be increased, and by rotating the outer ring512 counter-clockwise, the real-time setpoint temperature can bedecreased.

The front face of the thermostat 102 comprises a cover 514 thataccording to some embodiments is polycarbonate, and a lens 510 having anouter shape that matches the contours of the curved outer front face ofthe thermostat 102. According to some embodiments, Fresnel lens elementsmay are formed on the interior surface of the lens 510 such that theyare not obviously visible by viewing the exterior of the thermostat 102.Behind the lens 510 is a passive infrared (PIR) sensor 550 for detectingoccupancy, a temperature sensor that is thermally coupled to the lens510, and a multi-channel thermopile for detecting occupancy, userapproaches, and motion signatures. The Fresnel lens elements of the lens510 are made from a high-density polyethylene (HDPE) that has aninfrared transmission range appropriate for sensitivity to human bodies.The lens 510 may also include thin sections that allow a near-fieldproximity sensor 552, such as a multi-channel thermopile, and atemperature sensor to “see-through” the lens 510 with minimalinterference from the polyethylene. As shown in FIGS. 5A-5D, the frontedge of the outer rotatable ring 512, cover 514, and lens 510 are shapedsuch that they together form an integrated convex rounded front facethat has a common outward arc or spherical shape arcing outward.

Although being formed from a single lens-like piece of material such aspolycarbonate, the cover 514 has two different regions or portionsincluding an outer portion 514 o and a central portion 514 i. Accordingto some embodiments, the cover 514 is darkened around the outer portion514 o, but leaves the central portion 514 i visibly clear so as tofacilitate viewing of an electronic display 516 disposed underneath.According to some embodiments, the cover 514 acts as a lens that tendsto magnify the information being displayed in electronic display 516 tousers. According to some embodiments the central electronic display 516is a dot-matrix layout (i.e. individually addressable) such thatarbitrary shapes can be generated. According to some embodiments,electronic display 516 is a backlit, color liquid crystal display (LCD).An example of information displayed on the electronic display 516 isillustrated in FIG. 5A, and includes central numerals 520 that arerepresentative of a current setpoint temperature. The thermostat 102 maybe constructed such that the electronic display 516 is at a fixedorientation and does not rotate with the outer rotatable ring 512. Forsome embodiments, the cover 514 and lens 510 also remain at a fixedorientation and do not rotate with the outer ring 512. In alternativeembodiments, the cover 514 and/or the lens 510 can rotate with the outerrotatable ring 512. According to one embodiment in which the diameter ofthe thermostat 102 is about 84 mm, the diameter of the electronicdisplay 516 is about 54 mm. According to some embodiments the curvedshape of the front surface of thermostat 102, which is made up of thecover 514, the lens 510 and the front facing portion of the ring 512, isspherical, and matches a sphere having a radius of between 100 mm and180 mm. According to some embodiments, the radius of the spherical shapeof the thermostat front is about 156 mm.

Motion sensing with PIR sensor 550 as well as other techniques can beused in the detection and/or prediction of occupancy. According to someembodiments, occupancy information is used in generating an effectiveand efficient scheduled program. A second near-field proximity sensor552 is also provided to detect an approaching user. The near-fieldproximity sensor 552 can be used to detect proximity in the range of upto 10-15 feet. the PIR sensor 550 and/or the near-field proximity sensor552 can detect user presence such that the thermostat 102 can initiate“waking up” and/or providing adaptive screen displays that are based onuser motion/position when the user is approaching the thermostat andprior to the user touching the thermostat. Such use of proximity sensingis useful for enhancing the user experience by being “ready” forinteraction as soon as, or very soon after the user is ready to interactwith the thermostat. Further, the wake-up-on-proximity functionalityalso allows for energy savings within the thermostat by “sleeping” whenno user interaction is taking place our about to take place.

According to some embodiments, the thermostat 102 may be controlled byat least two types of user input, the first being a rotation of theouter rotatable ring 512 as shown in FIG. 5A, and the second being aninward push on head unit 540 until an audible and/or tactile “click”occurs. For such embodiments, the head unit 540 is an assembly thatincludes the outer ring 512, the cover 514, the electronic display 516,and the lens 510. When pressed inwardly by the user, the head unit 540travels inwardly by a small amount, such as 0.5 mm, against an interiorswitch (not shown), and then springably travels back out when the inwardpressure is released, providing a tactile “click” along with acorresponding audible clicking sound. Thus, for the embodiment of FIGS.5A-5D, an inward click can be achieved by direct pressing on the outerrotatable ring 512 itself, or by indirect pressing of the outerrotatable ring 512 by virtue of providing inward pressure on the cover514, the lens 510, or by various combinations thereof. For otherembodiments, the thermostat 102 can be mechanically configured such thatonly the outer ring 512 travels inwardly for the inward click input,while the cover 514 and lens 510 remain motionless.

FIG. 5B and FIG. 5C are bottom and right side elevation views of thethermostat 102. According to some embodiments, the thermostat 102includes a processing system 560, display driver 564 and a wirelesscommunications system 566. The processing system 560 is adapted to causethe display driver 564 and display 516 to display information to theuser, and to receiver user input via the outer rotatable ring 512. Theprocessing system 560, according to some embodiments, is capable ofcarrying out the governance of the operation of thermostat 102 includingvarious user interface features. The processing system 560 is furtherprogrammed and configured to carry out other operations, such asmaintaining and updating a thermodynamic model for the enclosure inwhich the HVAC system is installed. According to some embodiments, awireless communications system 566 is used to communicate with devicessuch as personal computers, other thermostats or HVAC system components,smart phones, local home wireless networks, routers, gateways, homeappliances, security systems, hazard detectors, remote thermostatmanagement servers, distributed sensors and/or sensor systems, and othercomponents it the modern smart-home environment. Such communications mayinclude peer-to-peer communications, communications through one or moreservers located on a private network, or and/or communications through acloud-based service.

According to some embodiments, the thermostat 102 includes a head unit540 and a backplate (or wall dock) 542. Head unit 540 of thermostat 102is slidably mountable onto back plate 542 and slidably detachabletherefrom. According to some embodiments the connection of the head unit540 to backplate 542 can be accomplished using magnets, bayonet, latchesand catches, tabs, and/or ribs with matching indentations, or simplyfriction on mating portions of the head unit 540 and backplate 542. Alsoshown in FIG. 5A is a rechargeable battery 522 that is recharged usingrecharging circuitry 524 that uses power from backplate that is eitherobtained via power harvesting (also referred to as power stealing and/orpower sharing) from the HVAC system control circuit(s) or from a commonwire, if available. According to some embodiments, the rechargeablebattery 522 may include a single cell lithium-ion battery, or alithium-polymer battery.

FIGS. 6A-6B illustrate exploded front and rear perspective views,respectively, of the thermostat 102 with respect to its two maincomponents, which are the head unit 540 and the backplate 542. In thedrawings shown herein, the “z” direction is outward from the wall, the“y” direction is the toe-to-head direction relative to a walk-up user,and the “x” direction is the user's left-to-right direction.

FIGS. 6C-6D illustrate exploded front and rear perspective views,respectively, of the head unit 540 with respect to its primarycomponents. Head unit 540 includes, a back cover 636, a bottom frame634, a battery assembly 632 with the rechargeable battery 522, a headunit printed circuit board (PCB) 654, the outer rotatable ring 512, thecover 514, and the lens 510. Behind the lens is the display assembly630, which will be described in relation to FIGS. 6E-6F below.Electrical components on the head unit PCB 654 can connect to electricalcomponents on the back plate 542 by virtue of a plug-type electricalconnector on the back cover 636. The head unit PCB 654 is secured tohead unit back cover 636 and display assembly 630. The outer rotatablering 512 is held between a bearing surface on the display assembly 630and bearing surfaces on the bottom frame 634. Motion of the outerrotatable ring 512 in the z direction is constrained by flat bearingsurfaces on the display assembly 630 and bottom frame 634, while motionof the ring in x and y directions are constrained at least in part bycircular rounded surfaces on the bottom frame 634. According to someembodiments, the bearing surfaces of the bottom frame 634 and/or thedisplay assembly 630 are greased and/or otherwise lubricated to bothsmooth and dampen rotational movement for the outer ring 512. The headunit printed PCB 654 may include some or all of processing system 560,display driver 564, wireless communication system 566, and batteryrecharging circuitry 524 as shown and described with respect to FIG. 5A,as well as one or more additional memory storage components. Accordingto some embodiments, circuitry and components are mounted on both sidesof head unit PCB 654. Although not shown, according to some embodiments,shielding can surround circuitry and components on both sides of thehead unit PCB 654.

Battery assembly 632 includes a rechargeable battery 522. Batteryassembly 632 also includes connecting wires 666, and a battery mountingfilm that is attached to battery 522 using a strong adhesive and/or theany rear shielding of head unit PCB 654 using a relatively weakeradhesive. According to some embodiments, the battery assembly 632 isuser-replaceable.

FIGS. 6E-6F illustrate exploded front and rear perspective views,respectively, of the head unit 540 with an exploded view of the displayassembly 630. The display assembly 630 comprises the cover 514, the lens510, an LCD module 662, a pair of RF antennas 661, a head unit top frame652, a sensor flex assembly 663, and a magnetic ring 665. The sensorflex assembly 663 connects to the head unit PCB 654 using a connector ona flexible PCB. The sensor flex assembly 663 also includes the PIRsensor 550 and the near-field proximity sensor 552. Additionally, thesensor flex assembly 663 may include a temperature sensor IC that ispositioned close to the lens 515 so as to accurately measure temperatureoutside of the thermostat 102 without being overly affected by internalheating of thermostat components. The sensor flex assembly 663 may becomprised of these three sensors, along with a flexible PCB (includingthe connector for the head unit PCB 654) and a plastic bracket to whichthe sensors and flexible PCB are mounted. The bracket ensures that thesensor flex assembly 663 is positioned and oriented consistently andcorrectly with respect to the lens 510. The lens 510 includes twosections that are thinned to approximately 0.3 mm in front of thenear-field proximity sensor 552 and the temperature sensor. The lens 510also includes a section with a Fresnel lens pattern in front of the PIRsensor 550. In some embodiments, additional temperature sensors may beplaced throughout the thermostat 102, such as a temperature sensor onthe head unit PCB 654 and a temperature sensor on the back plate PCB680.

The head unit PCB 554 includes a Hall effect sensor that senses rotationof the magnetic ring 665. The magnetic ring 665 is mounted to the insideof the outer rotatable ring 512 using an adhesive such that the outerrotatable ring 512 and the magnetic ring 665 are rotated together. Themagnetic ring 665 includes striated sections of alternating magneticpolarity that are diagonally positioned around the magnetic ring 665.The Hall effect sensor senses the alternations between magneticpolarities as the outer ring 512 is rotated. The Hall effect sensor canbe controlled by a primary processor, which is a higher poweredprocessor, without excessive power drain implications because theprimary processor will invariably be awake already when the user ismanually turning the outer rotatable ring 512 to control the userinterface. Advantageously, very fast response times can also be providedby the primary processor.

The antennas 661 are mounted to the top surface of the head unit topframe 652. The wireless communications system 566 may include Wi-Firadios of various frequencies (e.g., 2.4 GHz and 5.0 GHz), along with anIEEE 802.15.4-compliant radio unit for a local-area smart home devicenetwork that may include other thermostats, hazard detectors, securitysystem modules, and so forth. The IEEE 802.15.4 unit may use the Threadprotocol for achieving such communications. In some embodiments, thewireless communications system 566 may also include a Bluetooth lowenergy (BLE) radio for communication with user devices.

The processing system 560 may be primarily located on the head unit PCB654 and may include a primary processor and a secondary processor. Theprimary processor may be a comparatively high-powered processor, such asthe AM3703 chip, or the MCIMX6X3EVK10AB chip from Freescale™, and may beprogrammed to perform sophisticated thermostat operations, such astime-to-temperature calculations, occupancy determination algorithms,ambient temperature compensation calculations, software updates,wireless transmissions, operation of the display driver 564, andregulation of the recharging circuitry 524. The secondary processor,such as the STM32L chip from ST microelectronics, may be a comparativelylow-power processor when compared to the primary processor. Thesecondary processor may interact with the HVAC system to control aseries of FET switches that control the functioning of the HVAC system.The secondary processor may also interface with various sensors inthermostat 102, such as the temperature sensors, a humidity sensor, anambient light sensor, and/or the like. The secondary processor may alsoshare duties with the primary processor in regulating the rechargingcircuitry 522 to provide power to all of the electrical systems on boardthe thermostat 102. Generally, the primary processor will operate in a“sleep” mode until high-power processing operations (e.g., wirelesscommunications, user interface interactions, time-to-temperaturecalculations, thermal model calculations, etc.) are required, while thesecondary processor will operate in an “awake” mode more often than theprimary processor in order to monitor environmental sensors and wake theprimary processor when needed.

FIGS. 6G-6H illustrate exploded front and rear perspective views,respectively, of the back plate unit 542 with respect to its primarycomponents, according to some embodiments. Back plate unit 542 comprisesa back plate rear plate 682, a back plate PCB 680, and a back platecover 670. Visible in FIG. 6G are the HVAC wire connectors 684 thatinclude integrated mechanical wire insertion sensing circuitry, andrelatively large capacitors 686 that are used by part of the powerstealing circuitry that is mounted on the back plate PCB 680. Accordingto some embodiments, backplate 542 includes electronics and atemperature/humidity sensor in housing. Wire connectors 684 are providedto allow for connection to HVAC system wires, which pass though thelarge central circular opening 690, which is visible in each of thebackplate primary components. Also visible in each of the backplateprimary components are two mounting holes 692 and 694 for use in fixingthe backplate to the wall. Also visible in FIGS. 6G-6H are a bubblelevel 672 to allow the user to install the thermostat 102 in a levelposition without additional tools.

The back plate PCB 680 also may include approximately seven custom powerisolation ICs 685 that isolate the internal electronics of thethermostat 102 from the relatively high 24 VAC signals of the HVACsystem. The power isolation ICs 685 are custom software-resettable fusesthat both monitor transient and anomalous voltage/current signals on theHVAC power/return wires and switch off the connection to isolate thethermostat against any dangerous signals that could damage the internalelectronics. The power isolation ICs 685 receive command signals encodedin a clock square wave from the processing system 560 to open and closea pair of power FETs for each HVAC return wire in order to activate thecorresponding HVAC function (e.g., fan, air-conditioning, heat, heatpump, etc.). A complete description of the power isolation ICs 685 isgiven in the commonly assigned U.S. patent application Ser. No.14/591,804 filed on Jan. 7, 2015, which is hereby incorporated herein byreference in its entirety for all purposes.

FIG. 7 illustrates a power management and power harvesting system for asmart thermostat, according to some embodiments. FIG. 7 showsconnections to common HVAC wiring, such as a W (heat call relay wire); Y(cooling call relay wire); Y2 (second stage cooling call relay wire); Rh(heat call relay power); Rc (cooling call relay power); G (fan callrelay wire); O/B (heat pump call relay wire); AUX (auxiliary call relaywire); HUM (humidifier call relay wire); and C (common wire). Asdiscussed above, the thermostat 102 comprises a plurality of FETswitches 706 (such as the power isolation ICs 685 of FIG. 6H above) usedfor carrying out the essential thermostat operations of connecting or“shorting” one or more selected pairs of HVAC wires together accordingto the desired HVAC operation. The operation of each of the FET switches706 is controlled by the secondary processor 708 which can comprise, forexample, an STM32L 32-bit ultra-low power ARM-based microprocessoravailable from ST Microelectronics.

Thermostat 102 further comprises powering circuitry 710 that comprisescomponents contained on both the backplate 542 and head unit 540.Generally speaking, it is the purpose of powering circuitry 710 toextract electrical operating power from the HVAC wires and convert thatpower into a usable form for the many electrically-driven components ofthe thermostat 102. Thermostat 102 further comprises insertion sensingcomponents 712 configured to provide automated mechanical and electricalsensing regarding the HVAC wires that are inserted into the thermostat102. Thermostat 102 further comprises a relatively high-power primaryprocessor 732, such as an AM3703 Sitara ARM microprocessor availablefrom Texas Instruments, that provides the main general governance of theoperation of the thermostat 102. Thermostat 102 further comprisesenvironmental sensors 734/738 (e.g., temperature sensors, humiditysensors, active IR motion sensors, passive IR motion sensors,multi-channel thermopiles, ambient visible light sensors,accelerometers, ambient sound sensors, ultrasonic/infrasonic soundsensors, microwave sensors, GPS sensors, etc.), as well as othercomponents 736 (e.g., electronic display devices and circuitry, userinterface devices and circuitry, wired communications circuitry,wireless communications circuitry, etc.) that are operatively coupled tothe primary processor 732 and/or secondary processor 708 andcollectively configured to provide the functionalities described in theinstant disclosure.

The insertion sensing components 712 include a plurality of HVAC wiringconnectors 684, each containing an internal springable mechanicalassembly that, responsive to the mechanical insertion of a physical wirethereinto, will mechanically cause an opening or closing of one or morededicated electrical switches associated therewith. With respect to theHVAC wiring connectors 684 that are dedicated to the C, W, Y, Rc, and Rhterminals, those dedicated electrical switches are, in turn, networkedtogether in a manner that yields the results that are illustrated inFIG. 7 by the blocks 716 and 718. The output of block 716, which isprovided at a node 719, is dictated solely by virtue of the particularcombination of C, W, and Y connectors into which wires have beenmechanically inserted in accordance with the following rules: if a wireis inserted into the C connector, then the node 719 becomes the C noderegardless of whether there are any wires inserted into the Y or Wconnectors; if no wire is inserted into the C connector and a wire isinserted into the Y connector, then the node 719 becomes the Y noderegardless of whether there is a wire inserted into the W connector; andif no wire is inserted into either of the C or Y connectors, then thenode 719 becomes the W node. Block 718 is shown as being coupled to theinternal sensing components 712 by virtue of double lines termed“mechanical causation,” for the purpose of denoting that its operation,which is either to short the Rc and Rh nodes together or not to shortthe Rc and Rh nodes together. Whether the block 718 will short, or notshort, the Rc and Rh nodes together is dictated solely by virtue of theparticular combination of Rc and Rh connectors into which wires havebeen mechanically inserted. Block 718 will keep the Rc and Rh nodesshorted together, unless wires have been inserted into both the Rc andRh connectors, in which case the block 718 will not short the Rc and Rhnodes together because a two-HVAC-transformer system is present. Theinsertion sensing circuitry 712 is also configured to provide at leasttwo signals to the secondary processor 708, the first being a simple“open” or “short” signal that corresponds to the mechanical insertion ofa wire, and the second being a voltage or other level signal thatrepresents a sensed electrical signal at that terminal. The first andsecond electrical signals for each of the respective wiring terminalscan advantageously be used as a basis for basic “sanity checking” tohelp detect and avoid erroneous wiring conditions.

Basic operation of each of the FET switches 706 is achieved by virtue ofa respective control signal (e.g., W-CTL, Y-CTL) provided by thesecondary processor 708 that causes the corresponding FET switch 706 to“connect” or “short” its respective HVAC lead inputs for an ON controlsignal, and that causes the corresponding FET switch 706 to “disconnect”or “leave open” or “open up” its respective HVAC lead inputs for an“OFF” control signal. By virtue of the above-described operation ofblock 718, it is automatically the case that for single-transformersystems having only an “R” wire (rather than separate Rc and Rh wires aswould be present for two-transformer systems), that “R” wire can beinserted into either of the Rc or Rh terminals, and the Rh-Rc nodes willbe automatically shorted to form a single “R” node, as needed for properoperation. In contrast, for dual-transformer systems, the insertion oftwo separate wires into the respective Rc and Rh terminals will causethe Rh-Rc nodes to remain disconnected to maintain two separate Rc andRh nodes, as needed for proper operation.

Referring now to the powering circuitry 710 in FIG. 7, provided is aconfiguration that automatically adapts to the powering situationpresented to the thermostat 102 at the time of installation andthereafter. The powering circuitry 710 comprises a full-wave bridgerectifier 720, a storage and waveform-smoothing bridge output capacitor722 (which can be, for example, on the order of 30 microfarads), a buckregulator circuit system 724, a power-and-battery (PAB) regulationcircuit 728, and a rechargeable lithium-ion battery 730. In conjunctionwith other control circuitry including backplate power managementcircuitry 727, head unit power management circuitry 729, and thesecondary processor 708, the powering circuitry 710 is configured andadapted to have the characteristics and functionality describedhereinbelow.

By virtue of the configuration illustrated in FIG. 7, when there is a“C” wire presented upon installation, the powering circuitry 710operates as a relatively high-powered, rechargeable-battery-assistedAC-to-DC converting power supply. When there is not a “C” wirepresented, the powering circuitry 710 operates as a power-stealing,rechargeable-battery-assisted AC-to-DC converting power supply. Asillustrated in FIG. 7, the powering circuitry 710 generally serves toprovide the voltage Vcc MAIN that is used by the various electricalcomponents of the thermostat 102, and that in one embodiment willusually be about 3.7V˜3.95V. The general purpose of powering circuitry710 is to convert the 24 VAC presented between the input leads 719 and717 to a steady DC voltage output at the Vcc MAIN node to supply thethermostat electrical power load.

Operation of the powering circuitry 710 for the case in which the “C”wire is present is now described. When the 24 VAC input voltage betweennodes 719 and 717 is rectified by the full-wave bridge rectifier 720, aDC voltage at node 723 is present across the bridge output capacitor722, and this DC voltage is converted by the buck regulator system 724to a relatively steady voltage, such as 4.4 volts, at node 725, whichprovides an input current I_(BP) to the power-and-battery (PAB)regulation circuit 728.

The secondary processor 708 controls the operation of the poweringcircuitry 710 at least by virtue of control leads leading between thesecondary processor 708 and the PAB regulation circuit 728, which forone embodiment can include an LTC4085-4 chip available from LinearTechnologies Corporation. The LTC4085-4 is a USB power manager andLi-Ion/Polymer battery charger originally designed for portablebattery-powered applications. The PAB regulation circuit 728 providesthe ability for the secondary processor 708 to specify a maximum valueI_(BP)(max) for the input current I_(BP). The PAB regulation circuit 728is configured to keep the input current at or below I_(BP)(max), whilealso providing a steady output voltage Vcc, such as 4.0 volts, whilealso providing an output current Icc that is sufficient to satisfy thethermostat electrical power load, while also tending to the charging ofthe rechargeable battery 730 as needed when excess power is available,and while also tending to the proper discharging of the rechargeablebattery 730 as needed when additional power (beyond what can be providedat the maximum input current I_(BP)(max)) is needed to satisfy thethermostat electrical power load.

Operation of the powering circuitry 710 for the case in which the “C”wire is not present is now described. As used herein, “inactive powerstealing” refers to the power stealing that is performed during periodsin which there is no active call in place based on the lead from whichpower is being stolen. As used herein, “active power stealing” refers tothe power stealing that is performed during periods in which there is anactive call in place based on the lead from which power is being stolen.

During inactive power stealing, power is stolen from between, forexample, the “Y” wire that appears at node 719 and the Rc lead thatappears at node 717. There will be a 24 VAC HVAC transformer voltagepresent across nodes 719/717 when no cooling call is in place (i.e.,when the Y-Rc FET switch is open). For one embodiment, the maximumcurrent I_(BP)(max) is set to a relatively modest value, such as 20 mA,for the case of inactive power stealing. Assuming a voltage of about 4.4volts at node 725, this corresponds to a maximum output power from thebuck regulator system 724 of about 88 mW. This power level of 88 mW hasbeen found to not accidentally trip the HVAC system into an “on” statedue to the current following through the call relay coil. During thistime period, the PAB regulator 728 operates to discharge the battery 730during any periods of operation in which the instantaneous thermostatelectrical power load rises above 88 mW, and to recharge the battery (ifneeded) when the instantaneous thermostat electrical power load dropsbelow 88 mW. The thermostat 700 is configured such that the averagepower consumption is well below 88 mW, and indeed for some embodimentsis even below 10 mW on a long-term time average.

Operation of the powering circuitry 710 for “active power stealing” isnow described. During an active heating/cooling call, it is necessaryfor current to be flowing through the HVAC call relay coil sufficient tomaintain the HVAC call relay in a “tripped” or ON state at all timesduring the active heating/cooling call. The secondary processor 708 isconfigured by virtue of circuitry denoted “PS MOD” to turn, for example,the Y-Rc FET switch OFF for small periods of time during the activecooling call, wherein the periods of time are small enough such that thecooling call relay does not “un-trip” into an OFF state, but wherein theperiods of time are long enough to allow inrush of current into thebridge rectifier 720 to keep the bridge output capacitor 722 to areasonably acceptable operating level. For one embodiment, this isachieved in a closed-loop fashion in which the secondary processor 708monitors the voltage V_(BR) at node 723 and actuates the signal Y-CTL asnecessary to keep the bridge output capacitor 722 charged. According toone embodiment, it has been found advantageous to introduce a delayperiod, such as 60-90 seconds, following the instantiation of an activeheating/cooling cycle before instantiating the active power stealingprocess. This delay period has been found useful in allowing manyreal-world HVAC systems to reach a kind of “quiescent” operating statein which they will be much less likely to accidentally un-trip away fromthe active cooling cycle due to active power stealing operation of thethermostat 102. According to another embodiment, it has been foundfurther advantageous to introduce another delay period, such as 60-90seconds, following the termination of an active cooling cycle beforeinstantiating the inactive power stealing process. This delay period haslikewise been found useful in allowing the various HVAC systems to reacha quiescent state in which accidental tripping back into an activecooling cycle is avoided.

Demand Response Events

FIG. 8 illustrates an example of a smart home environment, such as thesmart home environment of FIG. 1, within which one or more of thedevices, methods, systems, services, and/or computer program productsdescribed further herein can be applicable. The depicted smart homeenvironment includes a structure 150, which can include, e.g., a house,office building, garage, or mobile home. In some embodiments, thestructure 150 may correspond to one of structures 150A-150N describedwith reference to FIG. 1.

Embodiments discussed herein generally relate to techniques for managingdemand-response programs and events. The entities in a system formanaging demand-response programs and events typically include a utilityprovider that provides electrical or other forms of energy from a powersource (e.g., an electrical generator) to individual's homes orbusinesses. The individuals typically pay for the amount of energy theyconsume on a periodic, e.g., monthly, basis. In many embodiments anenergy management system is disposed between the utility provider andthe individuals. The energy management system operates to intelligentlyand effectively shift energy consumption of the individuals from oneparticular time period to other time periods. Such energy shifting isusually performed so as to shift energy consumption from a high energycost period to a low energy cost period. In the case of DR events,energy is shifted from the DR event period to time periods outside ofthe DR event period.

The energy management system according to many embodiments includes anintelligent, network-connected thermostat located at the individual'shomes or businesses. Such a thermostat can acquire various informationabout the residence, such as a thermal retention characteristic of theresidence, a capacity of an HVAC associated with the residence to coolor heat the residence, a likelihood of the residence being occupied (viaoccupancy sensors that, over time, can build an occupancy probabilityprofile), a forecasted weather, a real-time weather, a real-timeoccupancy, etc. Moreover, the thermostat can be programmed by its usersor may learn, over time, the preferences and habits of its users to setscheduled setpoints. In exemplary embodiments, a population of suchnetwork-connected thermostats associated with a respective population ofindividual homes and businesses are configured to communicate with oneor more central servers managed by one or more cloud service providers.Each network-connected thermostat is associated with one or moreaccounts managed by the cloud service provider(s), and data is sent backand forth as needed between each network-connected thermostat and thecentral server(s) for providing a variety of advantageousfunctionalities such as facilitating remote control, reporting weatherdata, reporting HVAC control data and status information, and providingthe centralized and/or partially centralized controlling and datacommunications required to carry out the DR-related, time-of-use(TOU)-related, and/or real-time pricing functionalities describedherein.

It is to be appreciated that although some embodiments herein may beparticularly suitable and advantageous for commercial scenarios in which(i) the cloud service provider(s) associated with the population ofnetwork-connected thermostats is/are also the provider(s) of thedescribed energy management system, (ii) the provider(s) of the energymanagement system are separate and distinct business entities from theutilities themselves, and (iii) the energy management system is providedas a value-added service to the utilities, the scope of the presentdescription is in no way limited to such scenarios. In other applicablescenarios, for example, all of the elements can be provided by theutility. In other applicable scenarios, some of the elements can beprovided by the utility while other elements can be provided by agovernmental entity or by miscellaneous combinations of disparatecooperating businesses or consortia. Prior to a DR event, based on awealth of information the energy management system possesses regardingthe residences it is managing, the energy management system caneffectively predict how much energy a residence is likely to consumeover an given period, such as over a DR event. Moreover, given thewealth of information regarding the residences, the energy managementsystem may also generate variations to the residence's baselinethermostat setpoints that can be implemented during the DR event period.The variations can be made so that that the residence consumes lessenergy over the DR event period. Further yet, because of this wealth ofinformation the energy management system has regarding the residences,the energy management system may also accurately predict the amount ofenergy likely to be reduced over the DR event period or, in other words,shifted from the DR event period to one or more time periods outside(e.g., shouldering) the DR event period.

The described provisions for such energy consumption prediction andmanagement brings about many advantages as described furtherhereinbelow. For example, not only does it allow the energy managementsystem to effectively manage the energy consumption of a number ofconnected residences, but it also allows the energy management system tointelligently select a subset of residences from a large pool forparticipation in DR programs or events. The physical characteristics ofresidences and habitual tendencies of occupants of those residents varywidely across regions, and thus the potential energy savings/shiftingalso varies widely. The energy management system disclosed herein mayintelligently choose the participants in an energy savings program tomaximize efficiency and minimize costs.

As the energy management system disclosed herein provides advantageousinsight into energy-related characteristics of various residences onboth individual and aggregate levels, the energy management system mayalso provide portals so that other interested parties, such as utilitycompanies, may similarly have access to such information. As it isgenerally in the interests of the utility company to reduce energyconsumption over a particular time period, the utility company similarlyhas interests in accessing such energy-related characteristics of thevarious residences individually and in the aggregate so as to moreefficiently and effectively generate and manage DR events. Accordingly,in some embodiments, a utility portal is disclosed that enables theutility provider access to consumer-level energy-related information ata variety of levels of detail and complexity, for facilitating botheconomically smart and environmentally responsible decision making onresource planning and utilization.

The specifics of these and other embodiments are further disclosedherein, and a further understanding of which can be appreciated withreference to the figures. FIG. 8 depicts a system 800 for managingdemand-response programs and events according to an embodiment. System800 includes a plurality of electrical power generators 810A-810N, autility provider computing system 820, an energy management system 830,a communication network 840, a plurality of energy consumer residences150A-150N, and a power distribution network 860.

Electrical power generators 810A-810N are operable to generateelectricity or other type of energy (e.g., gas) using one or more of avariety of techniques known in the art. For example, electrical powergenerators 810A-810N may include hydroelectric systems, nuclear powerplants, fossil-fuel based power plants, solar plants, wind plants, gasprocessing plants, etc. The amount of electricity that may be generatedat any given time may limited to some maximum energy supplied that isdetermined by the generators 810A-810N. Further, the electrical powergenerators 810A-810N may be owned and managed by a utility providerimplementing the utility provider computing system 820, or may be ownedand/or managed by one or more third party entities that contract withthe utility provider to provide source energy to customers of theutility provider.

Utility provider computing system 820 is a computing system operable tocommunicate with one or more of the electrical power generators810A-810N, the energy management system 830, and in some embodimentselectronic systems in one or more of the residences 150A-150N. Theutility provider associated with the utility provider company system 820typically manages the distribution of electricity from the electricalpower generators 810A-810N to energy consumers at the residences150A-150N. This management includes ensuring the electricity issuccessfully communicated from the power generators 810A-810N to theresidences 150A-150N, monitoring the amount of energy consumption ateach of the residences 150A-150N, and collecting fees from occupants ofthe residences 150A-150N in accordance with the their respectivemonitored amount of energy consumption. The utility provider computingsystem 820 may perform one or more of the operations described herein,and may include a variety of computer processors, storage elements,communications mechanisms, etc. as further described herein and asnecessary to facilitate the described operations.

Energy management system 830 is a computing system operable tointelligently and efficiently manage the energy consumption at one ormore of the residences 150A-150N while optionally providing reportingand control mechanisms to the utility provider computing system 820. Theenergy management system 830 may be operable to engage in real-timetwo-way communications with electronic devices associated with theresidences 150A-150N via the network 840, as well as in engage inreal-time two-way communications with the utility provider computingsystem 820. In one particular embodiment, the energy management system830 may be operable to reduce the aggregate amount of energy consumed atthe residences 150A-150N so that the aggregate energy demand does notexceed the maximum energy supply limits of the power generators810A-810N. Such reductions may be achieved during any suitable timeperiod through the day. For example, such reductions may be achievedduring a demand-response (DR) event communicated by the utility providercomputing system 820. The energy management system 830 may perform oneor more of the operations described herein, and may include a variety ofcomputer processors, storage elements, communications mechanisms, etc.as further described herein and as necessary to facilitate the describedoperations.

Network 840 is any suitable network for enabling communications betweenvarious entities, such as between one or more components of the energymanagement system 830 and one or more electronic devices associated withone or more of the residences 150A-150N. Such a network may include, forexample, a local area network, a wide-area network, a virtual privatenetwork, the Internet, an intranet, an extranet, a public switchedtelephone network, an infrared network, a wireless network, a wirelessdata network, a cellular network, or any other such wired or wirelessnetwork(s) or combination(s) thereof. The network 840 may, furthermore,incorporate any suitable network topology. Network 840 may utilize anysuitable protocol, and communication over the network 840 may be enabledby wired or wireless connections, and combinations thereof.

Residences 150A-150N are a variety of structures or enclosures that areassociated with energy consumption. The structures may be span a varietyof structure types, such as private residences, houses, apartments,condominiums, schools, commercial properties, single or multi-leveloffice buildings, and/or manufacturing facilities. A number of examplesdescribed herein refer to the structure as being a private residence inthe form of a house, but embodiments are not so limited as one skilledin the art would understand that the techniques described herein couldequally be applicable to other types of structures. It is to beappreciated that, while some embodiments may be particularlyadvantageous for residential living scenarios, the scope of the presentteachings is not so limited and may equally be advantageous for businessenvironments, school environments, government building environments,sports or entertainment arenas, and so forth. Thus, while many of thedescriptions below are set forth in residential living context, it is tobe appreciated that this is for purposes of clarity of description andnot by way of limitation.

The residences 150A-150N typically include one or more energyconsumption devices, which could be electrical energy consumptiondevices such as televisions, microwaves, home audio equipment,heating/cooling systems, laundry machines, dishwashers, etc. Similarly,energy consumption devices could include one or more other types ofenergy consumption devices such as gas consumption devices. For example,the residences 150A-150N may include a natural gas (air/water/etc.)heater, stove, fireplace, etc. The residences 150A-150N in manyembodiments include an intelligent, network connected thermostat that isoperable to control the thermal environment of the residence. Thethermostats may be considered to part of the energy management system830, in that much of the processing subsequently described herein may beperformed by computing systems at the energy management system 830 or bythe thermostats themselves. Alternatively, the thermostats may beconsidered separate from the energy management system 830 due to theirremote geographical location with respect to other components of theenergy management system 830. In either case, electronic devicesassociated with the residences 150A-150N may perform one or more of theoperations described herein, and may include a variety of computerprocessors, storage elements, communications mechanisms, etc. as furtherdescribed herein and as necessary to facilitate the describedoperations. While most embodiments are described in the context ofsituations where it is desired to reduce the temperature inside of thestructure (e.g., during a hot summer), similar principles apply (justapplied in the opposite) in situations where it is desired to increasethe temperature inside of the structure (e.g., during a cold winter).For some embodiments, some or all of the intelligent, network-connectedthermostats may be the same as or similar in functionality to the NESTLEARNING THERMOSTAT® available from Nest Labs, Inc. of Palo Alto, Calif.

Power distribution network 860 is any suitable network for transferringenergy from one or more of the electrical power generators 810A-810N toone or more of the residences 150A-150N. In an electrical distributionnetwork, power distribution network 860 may include a variety of powerlines, substations, pole-mounted transformers, and the like as known inthe for carrying electricity from the electrical power generators810A-810N to the residences 150A-150N. In a gas distribution network,power distribution network 860 may include a variety of compressorstations, storage elements, pipes, and the like for transporting naturalor other types of energy producing gas from the power generators810A-810N (in this embodiment, gas wells and/or processing plants) tothe residences 150A-150N.

System 800 in certain embodiments is a distributed system for managingdemand-response programs and events utilizing several computer systemsand components that are interconnected via communication links using oneor more computer networks or direct connections. However, it will beappreciated by those skilled in the art that such a system could operateequally well in a system having fewer or a greater number of componentsthan are illustrated in FIG. 8. Thus, the depiction of system 800 inFIG. 8 should be taken as being illustrative in nature, and not aslimiting the scope of the present teachings.

Dispatch Engine

The embodiments described herein may begin by scheduling electrical loadusage across a variety of electrical devices (storage, electricvehicles, HVAC systems) or across a plurality of structures in a waythat simultaneously minimizes overall energy costs, allows participationin load-shedding capacity markets, and maintains a comfortableenvironment for end-users. These embodiments may employ a centralizedapproach appropriate for control of a (i) large commercial or universitycampus, or (ii) a large collection of individual structures. Theseembodiments may operate on a time-scale of minutes, dispatchingschedules to devices/structures under management that incorporatecurrent information, as well as best available predictions. In whatfollows, a general framework is developed to describe how device modelsfor energy storage, electric vehicles, and/or HVAC systems fit into thisapproach and to describe cost functions corresponding to a typicalcommercial power bill and participation in DR programs.

A feature of what is referred to herein as a Model Predictive Control(MPC) scheduler is the includes incorporation of predictions for variousimportant quantities (e.g. uncontrolled device loads, EV driveravailability, thermal response of buildings, etc.) For the purposes ofthe simulations described below, relatively simple predictions areconsidered, as they have been shown to be sufficient for responding toDR events while efficiently minimizing required computing power. Thisapproach can be applied to scheduling various electrical loadcombinations with the simultaneous goals of reducing electricity costs,supporting the grid through DR support, and keeping end-users happy.

The following description includes mathematical notation that will bereadily understood by one having skill in the art. Specifically, thefollowing description shows how to set up equations used by a dispatchengine to properly describe the optimization problem for selectingindividual electrical loads to combine during a DR event. Once thisoptimization problem is formulated, it can be solved in many differentways, such as using a general linear solver or a “greedy” algorithm thatwill be described in greater detail below.

Formally, define u₁ . . . , u_(n) to be the power consumption of ndevices with u_(i)ϵ

^(T) denoting the average power consumption of device i over a timehorizon of length T. The convention can be adopted that (u_(i))_(t)<0signifies that a device (e.g., a battery) generates rather than consumeselectricity during this time interval. For the problem scales ofinterest, (u_(i)) typically will have units in kW and define Δ to be thetime constant corresponding to the length of the interval such that(u_(i)) corresponds to kWh's. As a reference point, time horizons over12+ hours can typically be considered to cover an entire work day, andtime intervals of 5 minutes to allow for sufficiently fine-grainedcontrol.

In addition to power consumption, each device also has internal statex_(i)ϵχ^(T), which describes relevant device-specific quantities. For anHVAC system, this could include internal building temperatures. For anelectric vehicle (EV) charging station, this might include a maximumcharging rate and a required energy for the currently charging EV. Thesevariables can be important in modeling the impact of power consumptionon devices and users, such as changes in internal temperature due toHVAC power consumption.

A power schedule can be produced for all devices by solving anoptimization problem over these x₁ . . . , x_(n) and u₁ . . . , u_(n)variables,minimize f(x ₁ . . . , x _(n) ,u ₁ , . . . u _(n))  (1)subject to g _(i)(u _(i) ,x _(i))≤0 for i=1, . . . ,nwhere the f objective can include both well-known energy costs (e.g.,time-of-use charges, demand charges, demand-response penalties) as wellas softer costs (e.g., user satisfaction). The g_(i) terms may definehard constraints due to physical limitations (battery capacity) or dueto hard user constraints (e.g., the EV must have 5 kWh by 5 pm). Notethat while u₁ . . . u_(n) denotes the scheduled power for each deviceover the entire time horizon, as is standard in model predictivecontrol, only the first action in this schedule needs to be executed,then the optimization problem can be resolved again with updatedinformation in the next interval.

Next, the details of terms in the cost function f are described thatdepend only on power consumption u₁ . . . u_(n), and thus make up theutility power bill as well as determine revenue from participating in DRprograms. There are essentially two types of cost functions: those thatdepend on a pre-defined rate plan and that are applied at the meterlevel, and those based on capacity events that are declared days orhours in advance. Furthermore, whereas the most basic energy charges areadditive and thus can be separated at the individual device or structurelevel, demand charges and capacity events lead to nonlinear functionsthat apply to a group of devices or structures simultaneously (e.g. alldevices behind a single meter) leading to an overall cost function thatapplies at different levels of granularity. In what follows, costfunctions are described for the most common rate plan charges (i.e.,time-of-use energy charges, and demand charges) as well as for capacityevents.

The most basic of electricity costs is a fixed time-of-use chargeapplied to the amount of energy used at a particular time at a givendevice or structure. This cost function decomposes over the individualdevices and

$\begin{matrix}{{f_{TOU}\left( {{u_{1}\mspace{14mu}\ldots}\mspace{14mu},u_{n}} \right)} = {\sum\limits_{i = 1}^{n}{f_{TOU}\left( {u_{1},c_{i}^{TOU}} \right)}}} & (2)\end{matrix}$where c_(i) ^(TOU) denotes the time of use charge for each individualdevice. For each device, the energy charge for the rate plan combinedwith the amount of energy used by the device at that time is given by,f _(TOU)(x;c)=Δx ^(T) c  (3)where Δ represents the appropriate constant for converting average powerin kW to energy in kWh. For example, h=5/60 if the time interval forscheduling is 5 minutes.

Like the time of use charges, demand charges can also be codified in therate schedule for a particular meter. These charges are a rough proxyfor utility costs that are incurred due to higher peak power usage. Ofcourse, they only roughly approximate the true utility cost because thepeak for an individual meter may not correspond exactly to the peak forthe overall grid. Nonetheless, these charges are a significant componentof the monthly bill for many rate plans and thus an important term tominimize.

For demand charges, groups of devices can be considered that are behinda particular meter. Additionally, for the same group of devices, theremay be several demand charges that apply over different periods of thescheduling window. For example, scheduling beginning at 9 AM in a summermonth, some embodiments may need to consider peak demand charges thatare active during the middle of the day, as well as partial peak chargesthat are active in the morning hours. This can be written as a sum overthe demand charges, where each demand charge is determined by the sum ofindividual devices within that group, such as all devices behind asingle meter,

$\begin{matrix}{{f_{DC}\left( {{u_{1}\mspace{14mu}\ldots}\mspace{14mu},u_{n}} \right)} = {\sum\limits_{k}{f_{DC}\left( {{{{\sum\limits_{i \in D_{k}}u_{i}} + \ell_{k}};m_{k}},c_{k}^{({DC})}} \right)}}} & (4)\end{matrix}$

where l_(k) denotes the predicted power consumption for uncontrolleddevices behind the same meter, m_(k) represents maximum powerconsumption thus far in the billing period, and c_(k) ^((DC)) denotesthe demand charge rate from the rate plan denominated in $/kW. For eachindividual meter, the incremental cost incurred can be determined by theamount we increase the maximum power consumption, given byf _(DC)(x;m,c)=cmax{u ₁ −m ₁ , . . . , u _(T) −m _(T)}.  (5)

Unlike time of use and demand charges, capacity events are not fixed inthe rate structure, and are instead declared by grid operators with someadvanced notice. Typically, participants self-nominate or bid on aparticular load capacity that can be shed on demand in order to supportthe grid. In order to quantify the amount of demand reduction during acapacity event, a baseline methodology may be used to define the powerconsumption under “normal” conditions. For example, a 10-day average,excluding weekends and holidays, may be considered and adjusted forday-of power consumption prior to the event.

The goal of this term in the scheduler is to ensure that after eventsare declared, loads are scheduled in a way that minimizes energy costdue to penalties incurred from not supplying the pre-agreed capacity.These events are typically defined at a relatively coarse granularitythat includes multiple meters, but as with demand charges, groups ofloads can be enumerated that are relevant for a particular event and thesum of all devices in these groups can be considered together as

$\begin{matrix}{{f_{DC}\left( {{u_{1}\mspace{14mu}\ldots}\mspace{14mu},u_{n}} \right)} = {\sum\limits_{k}{f_{DC}\left( {{{{\sum\limits_{i \in C_{k}}u_{i}} + \ell_{k}};b_{k}},p_{k}} \right)}}} & (6)\end{matrix}$where b_(k) denotes the baseline, p_(k) denotes the nominated capacity.The actual penalty function for an event depends on the program inquestion and can include quantities such as the price to purchasecapacity in the real-time energy markets. One example is a non-symmetriccost function with significant penalties for under performance andlimited/no upside for shedding more capacity than is required. A simpleexample places a linear penalty on under-delivering given byf _(DR)(x;b,p)=c ^(T)(x−b−p)  (7)where cϵ

^(T) is the penalty in $/kW. Extending this to more complicated penaltyfunctions would be straightforward in light of this disclosure for onehaving skill in the art.

Next device models for energy storage devices, electric vehicles, andHVAC systems are described. These constraints are determined by knownphysical properties (e.g., a lithium-ion battery with a 50 MWh capacityand a 10 MW charge/discharge rate) as well as predictions of physicalproperties (e.g., weather forecasts, arrival and departure of electricvehicles). Constraints can also be used to incorporate user preferences(e.g. vehicle must have 5 kWh of charge by 5 p.m. or buildingtemperature must between 70°-74° F.), ensuring that the optimal schedulerespects the needs of electricity consumers. Alternatively, preferencesmay be incorporated through additional terms, but this introduces atradeoff between energy costs and user happiness. By instead makingthese hard constraints, the assumption that maintaining user happinessis more important than reducing energy costs can be encoded.

First, a dedicated energy storage device, such as a lithium-ion battery,may be considered. The constraints for these devices may take intoaccount the maximum charge/discharge rate and the physical constraintson battery capacity

$\begin{matrix}{{{{0 \leq {e_{0} + {\Delta{\sum\limits_{t = 1}^{k}u_{t}}}} \leq {e_{\max}\mspace{14mu}{for}\mspace{14mu} k}} = 1},\ldots\mspace{14mu},T}{{{r_{\min} \leq u_{t} \leq {r_{\max}\mspace{14mu}{for}\mspace{14mu} t}} = 1},\ldots\mspace{14mu},T}} & (8)\end{matrix}$where e₀ is the initial energy stored in the battery, e_(max) is themaximum capacity measured in kWh, and r_(min) and r_(max) are themaximum charge/discharge rates. The first constraint ensures that thetotal energy remains within the capacity of the battery, while thesecond constraint bounds the charge/discharge rate at each timeinterval. Recall that the convention that u_(t)<0 represents sourcing ofpower, such as discharging the battery.

Next, consider the scheduling of electric vehicles, which areessentially small energy storage devices that arrive and depart atvarious times. It can be assumed that EVs do not support bidirectionalpower flow, but the extension to this case is straightforward. From theperspective of the grid, when scheduling electric vehicle chargingstations, a model can be where EV drivers specify their preferences tothe scheduler in terms of desired departure time and charge when theyplug in (“I need 5 kWh by 5:30 pm”). This leads to the constraints

$\begin{matrix}{{{{0 \leq {e_{0} + {\Delta{\sum\limits_{t = 1}^{k}u_{t}}}} \leq {e_{desired}\mspace{14mu}{f{or}}\mspace{14mu} k}} = 1},\ldots\mspace{14mu},T_{depart}}{{{0 \leq x_{t} \leq {r_{\max}\mspace{14mu}{for}\mspace{14mu} t}} = 1},\ldots\mspace{14mu},T_{depart}}} & (9)\end{matrix}$where the user has specified a need for e_(desired) charge byT_(depart), e₀ is the current state of the battery, and r_(max)corresponds to the maximum EV charging rate (e.g., 6.6 kW for standardLevel 2 charging). In the case that e₀ is not observed (e.g. batterystate may be unknown when the EV driver begins charging), the initialbattery state can be estimated from historical data or conservativelytake e₀=0. Additionally, when an EVSE is empty or no user constraintsare specified, the expected arrival, depature, and required charge canalso be estimated from historical data. Note that EV battery controllersslow their charging rate as the battery becomes full, and thus EVSEimplementations may communicate with the scheduler to adjust r_(max) asappropriate, setting r_(max)=0 when the battery is completely full.

Controlling an HVAC load requires a slightly more complicated model ableto specify the relationship between power consumption and internalbuilding temperatures. A linear model may be adopted having the statevariables x_(t) representing the internal building temperature withx _(t+1) =x _(t) +a(T _(t) ^(external) −x _(t))+bu _(t)  (10)where a and b are physical constants representing the thermal propertiesof the building and cooling efficiency, respectively. User preferencescan be incorporated as constraints in the model on internal buildingtemperatures in the range of T_(min)≤x_(t)≤T_(max). For example,occupants of an office building may expect temperatures in the range70°-74° F. under normal circumstances, but may be willing to tolerateslightly higher temperatures for short periods during capacity events.Note that commercial building management systems may have their ownsophisticated control systems that maintain desired set points inapplication-specific ways. The output of the scheduler can be mapped tothese systems as a post-processing step and/or by incorporating moreapplication-specific details and state in the constraints.

To schedule various loads from a plurality of electrical loads for usein energy reduction, the equations and constraints described above canbe used as inputs to a linear solver. In some embodiments, an algorithmreferred to herein as a “Greedy Tetris” scheduler may be used toschedule different customers' load drop flexibility to achieve a desiredaggregate load drop shape in magnitude and time.

This algorithm begins with two assumptions: (1) each customer orstructure can be represented by a time-series of how much they can dropin a given time interval, and for how many time intervals such a dropmay occur; and (2) once a customer is dispatched, the dispatch will notstop and restart at another time during the same event. Market rulesvary by location and ISO/utility, but here it will be assumed that thereis no incentive to over-perform, i.e. to drop more load than wascommitted up front. An extension for exception cases will be introducedbelow.

FIG. 9 illustrates a flowchart of a method for scheduling individualloads for a load-drop event, according to some embodiments. The methodmay include, for a first time interval of a load-drop event, selectingavailable loads to dispatch (902). This initial selection of loads todispatch may be selected such that there is just enough estimated loaddrop to meet required capacity that was committed by the energymanagement system. The first time interval may refer to a unit ofperformance evaluation, which could be a fixed time interval, such as anhour, or a duration of the entire load-drop event. The initial selectionof loads may be calculated by aggregating individual load drops fromeach load until the required capacity is reached.

The method may also include determining an actual load drop during thefirst time interval using the initial selection of loads, anddetermining whether the actual load drop meets the capacity requirement(904). If the actual load drop does not meet the capacity requirement,the scheduling system can dispatch additional electrical loads until theactual load drop meets the capacity requirement (906). These two stepsof the process may be repeated during the current time interval asneeded. It will be understood that the actual load drop can fluctuateduring the current time interval due to customer interactions with theirthermostat. When the current time interval is completed, the algorithmcan move on to a subsequent time interval (908).

During a subsequent time interval (908), a determination can be made asto which loads from the previous time interval can remain dispatched andwhich loads cannot remain dispatched (910). Some customers may limit thelength of time that they are willing to shed electrical load during ademand-response event. Other thermostat/HVAC system combinations maysimply not shed enough load to make their continued inclusion in theload shedding pool worthwhile. Similar to step 902 above, additionalelectrical loads can be added until the estimated load drop during thesubsequent time interval meets the capacity requirement. After theinitial selection of electrical loads during the subsequent timeinterval, a rebalancing process can be instituted similar to steps 904,906 above. However, during a subsequent time interval, additional loadsneed not be added until the capacity requirement is exceeded. Becauseprevious time intervals may guarantee that the actual load exceeds thecapacity requirement, continuously exceeding the capacity requirementthroughout the entire event will over commit, and thereby shed morecapacity than is required. Instead, some embodiments may determinewhether an average load over the entire event is greater than thecapacity requirement (912). If so, electrical loads during thesubsequent time interval may be dropped until the actual load during thesubsequent time interval is below the capacity requirement (914). Itwill be understood that steps 912, 914 can also determine whether theaverage over the entire event is less than the capacity requirement, andthen add additional loads in response.

For each subsequent time interval, a rebalancing process as describedabove can be used to maintain an average load dispatch over the entireevent that is approximately equal to the capacity requirement. As eachsubsequent time interval expires, the scheduling system can move to thenext time interval (916), again determine which loads can remain dropped(910), and rebalance loads according to the average load drop over theentire event in relation to the capacity requirement (912, 914). Afterthe last time interval (916), the event will end, and analysis can beperformed regarding the efficiency of the scheduling algorithm describedabove.

This general scheme works regardless of whether event performance isjudged in discrete intervals, or averaged over the entire event. It isalso not dependent on knowing the duration of the event ahead of time.This algorithm is simple and fast, and requires little in the way ofcomputing resources. Although it uses rebalancing, and is not necessaryoptimal in all cases, this algorithm avoids extensive forward-lookingplanning. If load-shedding rules include some incentive for overperformance (e.g., extra payments for shedding more electrical load thanagreed to upfront) then the algorithm of FIG. 9 can be modified byidentifying the optimal drop level to be reached, based on a trade-offof expected payout versus costs. “Cost” in this sense can be representedas the cost of dispatching more customers in terms of user satisfaction.Once the optimal drop level has been determined, the greedy algorithm ofFIG. 9 can proceed as described above, using the optimal drop levelinstead of the agreed-to capacity requirement.

Bidding Engine

The dispatch engine described above may be responsible for generating anoptimal dispatch schedule given a DR event start time and theconstraints that apply to each load (e.g., each home with a customerhaving a smart thermostat). This optimization performed by the dispatchengine they provide at least two benefits. First, the expected payoutfor the given event performance may be calculated by using the DRprogram rules in conjunction with the specific energy-savingcharacteristics of the grouping of loads provided by the dispatchengine. Second, a significant amount of flexibility may be realizedduring and after a given event. This flexibility can be potentially usedto dispatch into energy markets, so it also carries some real-worldmonetary value.

The bidding engine and the load models described above allow athermostat management server to predict and simulate how different loadcombinations will perform during future DR events. Parameters can bechanged during a simulation to find an optimized combination of loadsfor given DR program rules. This can be beneficial when energy companiesrequire estimated energy savings prior to DR events. In somearrangements, an energy company may place certain future DR events upfor bid among various load-saving customers. For example, a utilitycompany may ask for a 4 MW reduction during a certain date/time. Whensubmitting a bid to provide the required energy reduction, thethermostat management server can calculate the likelihood that thethermostat network will be able to shed the required amount of energybased on simulating various load configurations returned by the dispatchengine described above. These simulations can provide an expected energysavings, along with a statistical risk associated with accepting theutility provider's request. As described above, most utility providersdo not offer monetary incentives for overestimating the amount of energyreduced. However, most energy providers do charge monetary penalties forunderestimating the amount of energy reduced. Therefore, it may bebeneficial for the thermostat management server to determine the optimalcombination of loads using the dispatch engine to shed as closely aspossible the required amount of energy by the utility provider.

In order to identify the optimal combination of loads and provide astatistical risk score for each load configuration, a bidding engine canbe used in conjunction with the dispatch engine to perform suchsimulations. FIG. 10 illustrates a system diagram of a thermostatmanagement server that includes the dispatch engine and bidding engine,according to some embodiments. The dispatch engine 1004 and the biddingengine 1002 represent the major functional blocks of the load-sheddingsystem. The bidding engine 1002 may be responsible for determining howmuch capacity should be nominated for each of the demand responseresources. The dispatch engine 1004, in turn, can schedule individualassets of a resource during demand response events. Informationregarding each of the assets/resources (e.g., thermal characteristics ofhomes, HVAC capacities, etc.) can be stored in a database 1006 at thethermostat management server. An API 1008 can connect assistant toexternal computer systems, such as the utility provider computer system.The API 1008 can also source thermostat-level information, events, anddispatch the actual system instructions for individual thermostats.

FIG. 11 illustrates a flowchart of a method for estimating an optimalamount of load capacity to agree to shed during future DR events,according to some embodiments. The method may include uploadinginformation about assets and resources, such as their load flexibility,through the API into the database (1102). This information may beuploaded constantly and/or periodically from thermostats in operation invarious homes. The method may also include receiving DR parameters forupcoming DR events (1104). This information may be provided by theutility provider computer system, and may generally describe DR eventsduring an upcoming season. For example, this information may request anamount of energy to be shed, along with start times, end times,durations, locations, and so forth.

The method may additionally include a simulation loop performed by thebidding engine, the details of which will be described further below.Within this loop, the dispatch engine can determine a load configurationto be simulated, such as a grouping of homes having smart thermostatsinstalled therein (1106). The bidding engine can perform, for example, aMonte Carlo simulation to estimate the amount of load to be shed usingthat configuration based on varying weather conditions, energy prices,and so forth (1108). This loop (1110) can be performed using manydifferent configurations selected by the dispatch engine.

After the bidding engine has performed the simulations above, the methodmay include generating a set of statistical data relating the loadcapacity shed to the risk of underperformance when agreeing to servicethe DR events (1112). In an example described below, the statisticalinformation may include a set of curves showing an expected value, a10^(th) percentile value, a 90^(th) percentile value, and so forth. Thestatistical information can be provided to the thermostat managementsystem, which can then make a decision as to how much load can bereliably shed based on a desired level of risk. Once the load sheddingcapability has been determined, the method may include sending theestimate of the capacity to shed load during the future DR events to theutility provider computer system (1114).

What follows is an illustration of how the bidding engine can generate aset of statistical data that can allow the thermostat management serverto determine the optimal amount of load that can be shared during DRevents. This approach incorporates (i) a statistical categorization ofthe drop in energy consumption with respect to a monetized baseline asreported to the utility providers that run the demand response programs,and (ii) a way to use these models with the inherent uncertainty inweather forecasts within a Monte Carlo simulation framework thatprovides capacity nomination versus payout curves. These embodiments usemodels of uncertainty to generate many instances, or sample paths, forfuture monthly demand response event realizations. These models thencompute the actual payout outcomes of these different realizations. Theresult of this analysis is a set of distribution curves as a function ofthe upfront capacity nomination.

Characterizing the drop in energy consumption with respect to theutility-reported baseline is one parameter in estimating the ability torespond when the demand response event is called. The key challenges inimplementing this procedure were in the amount of uncertainty (noise)that was present in this process. Therefore these embodiments requiredan approach that placed special attention on how the estimation noise isreduced. The capacity drop analysis was broken down into two components:(i) the difference between the predicted baseline vs the utility-based(monetization) baseline, and (ii) the drop of the actual demand withrespect to the predicted baseline (instead of the utility-basedbaseline). These embodiments have been shown to efficiently control thenoise in the estimation procedure, which may be important given thetypically very limited DR event history. All the applied methods werestatistically rigorous. This is the only known approach thatincorporates noise and provides the risk-averse strategy in coming upwith the DR program nominations.

First, the approach in estimating the drop includes estimating adifference between the actual load during the demand response event andthe utility baseline based on which the resource is monetized.Predicting this quantity can be challenging due to the inherentuncertainty of the utility baseline and the fairly small number ofavailable demand response events that can be used to build the capacitydrop prediction model. The noise can be limited in the capacity dropestimation by exploiting the following equality.(B(t)−A(t))I _(DR(t))=(B(t)−P(t))+(P(t)(1−I _(DR(t)))−A(t)I_(DR(t)))  (10)

A(t) represents the actual power at time t, B(t) represents the utilitybaseline at time t, P(t) represents the baseline prediction at time t,DR(t) represents the DR state at time t, and/represents an indicatorfunction. Note that the first term in (10) does not depend on the demandresponse event. Instead, it represents the difference between theutility baseline and the corresponding prediction, and the model can bebuilt using all of the available historic data. On the other hand, thesecond term in (10) depends on actual DR events, and the estimationuncertainty stems from a commonly small number of events, as well as theuncertainty in demand and weather forecasts. Bid nominations are usuallyregistered at least a month ahead. However, in general, month-aheadpredictions are very noisy especially for loads that depend on theoutside temperature, such as HVACs.

Assigning loads to a DR program depends on the ability of the utilitybaseline to track actual load. The drop of the actual demand withrespect to the utility provided baseline is noisy. Thus, the estimationnoise can be controlled by considering the terms in (10) separately,while adding the correlation between the two terms. However, the dropwith respect to the predicted power exhibits a more clear trend as afunction of outside temperature and the power prediction. This is due tothe fact that the trained power prediction algorithms take into accountmany more effects than the utility's baseline procedure. There is alimit to what can be done in predicting the utility baseline—it isalways going to be noisy to some degree—unless the demand cab becontrolled to reduce the load variability. To that end, the estimationcan be optimized by focusing on the DR-likely days, including the actualevent days. Using a Principle Component Analysis (PCA), the historicalinformation can be used to identify warm days with similar dailyconsumption profiles.

In order to predict the DR capacity drop with respect to the predictedpower during the DR event, uncertainty in predicting the drop depends ondifferent factors, such as the DR event frequency and the dataavailability (e.g., power data, temperature forecasts). Adifferentiation can be made between models that (i) capture the DR stateand its duration, and directly provide drop estimate, and (ii) exploitclustering techniques to improve predictions accuracy. In someembodiments, a linear model can accept temperature and weatherconditions, time of the week, day of week, and DR related states asinputs. One way to improve the drop prediction accuracy is by focusingonly on the event days. Note that the drop is a function of the time ofday, which can be excluded from the analysis below, since DR events arealmost always triggered at the same time.

With the capacity estimation process established above, the system canthen execute a risk-aware bidding procedure. Each DR program has apayout that is a function of B(t)−A(t) at times for which DR(t)=1, alongwith other factors, such as month of the year, type of the program (“dayahead” or “day of”), and so forth. There are two concepts thatcharacterize the available payments. The first is the payment ratiobased on the delivery ratio. In other words, each month, a certain DRcapacity can be nominated. The performance achieved during the DR event(i.e. actual drop from baseline) relative to the nominated capacity isthe delivered capacity ratio. The payment or penalty based on thisdelivered capacity ratio is shown in FIG. 12. Note that the PaymentRatio levels off as the Delivered Capacity Ratio increases, leveling offat a ratio of 1.0. This signifies that there is no benefit to overestimating the capacity reduction.

This capacity payment determined by the Payment Ratio is a function of arandom process of hourly event drops throughout a given month. In orderto evaluate its behavior, a Monte-Carlo simulation can be used. Nmonthly samples can be generated (i.e., sequences of monthly eventdrops) using the previously discussed prediction models. Given theselected DR nomination value, the quantile values can be estimated whichconverge to the actual values as the number of samples N grows.Specifically, the bidding engine derives the expected payoff fordifferent capacity nominations for a given load combination. At thisstage, all the uncertainties (e.g., load performance, weather, timing ofevents) are taken into account to yield a performance distribution foreach given capacity nomination. The bidding engine is implemented as aMonte Carlo outer loop around the dispatch engine, which tests dispatchbehavior by running many iterations for each capacity point. For eachiteration, the bidding engine chooses a given event time and durationfrom the event distribution, along with a load drop for each flexibleload from its model, and then runs the dispatch engine to obtain a loadschedule. The bidding engine then evaluates that schedule based on theDR program rules. After many iterations, the results are collected intoa graph that shows the distribution of payouts (over a DR season) fordifferent capacity nominations for a given set of load combinations.

FIG. 13 illustrates an example set of curves, according to someembodiments. Line 1302 captures the expected value of payout for eachgiven capacity nomination for a given resource. But given that thepayout is based on a number of uncertainties that are modelled, there isa certain distribution to the payout amount for each capacity. Line 1304and line 1306 capture the 90th and 10th percentile of the payout,respectively. This is the payout amount that will be achieved in atleast 90 and only 10 percent of the cases. There is a specific capacityvalue 1308 which maximizes the expected payout. To the left of thiscapacity value 1308 (i.e. for smaller capacity values) the expectedpayout is reduced, but the distribution width is also reduced. In otherwords, there is a risk/reward trade-off that can be made, with a lowerexpected value but also a higher 90th percentile.

Implementation of the techniques, blocks, steps and means describedabove may be done in various ways. For example, these techniques,blocks, steps and means may be implemented in hardware, software, or acombination thereof. For a hardware implementation, the processing unitsmay be implemented within one or more application specific integratedcircuits (ASICs), digital signal processors (DSPs), digital signalprocessing devices (DSPDs), programmable logic devices (PLDs), fieldprogrammable gate arrays (FPGAs), processors, controllers,micro-controllers, microprocessors, other electronic units designed toperform the functions described above, and/or a combination thereof.

Also, it is noted that the embodiments may be described as a processwhich is depicted as a flowchart, a flow diagram, a data flow diagram, astructure diagram, or a block diagram. Although a flowchart may describethe operations as a sequential process, many of the operations can beperformed in parallel or concurrently. In addition, the order of theoperations may be re-arranged. A process is terminated when itsoperations are completed, but could have additional steps not includedin the figure. A process may correspond to a method, a function, aprocedure, a subroutine, a subprogram, etc. When a process correspondsto a function, its termination corresponds to a return of the functionto the calling function or the main function.

Furthermore, embodiments may be implemented by hardware, software,scripting languages, firmware, middleware, microcode, hardwaredescription languages, and/or any combination thereof. When implementedin software, firmware, middleware, scripting language, and/or microcode,the program code or code segments to perform the necessary tasks may bestored in a machine readable medium such as a storage medium. A codesegment or machine-executable instruction may represent a procedure, afunction, a subprogram, a program, a routine, a subroutine, a module, asoftware package, a script, a class, or any combination of instructions,data structures, and/or program statements. A code segment may becoupled to another code segment or a hardware circuit by passing and/orreceiving information, data, arguments, parameters, and/or memorycontents. Information, arguments, parameters, data, etc. may be passed,forwarded, or transmitted via any suitable means including memorysharing, message passing, token passing, network transmission, etc.

While the principles of the disclosure have been described above inconnection with specific apparatuses and methods, it is to be clearlyunderstood that this description is made only by way of example and notas limitation on the scope of the present teachings.

What is claimed is:
 1. A thermostat management server comprising: one or more processors; and one or more memory devices comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: receiving, from a plurality of thermostats, information that characterizes energy usage associated with the plurality of thermostats; receiving, from a utility provider computer system, parameters characterizing proposed future demand-response events; selecting a combination of thermostats from the plurality of thermostats for which the energy usage can be reduced; simulating a demand response event based on the parameters and using different weather conditions for the combination of the plurality of thermostats; generating statistical probabilities of meeting a plurality of capacity reduction levels based on the different weather conditions; selecting a capacity reduction level from the plurality of capacity reduction levels based on the statistical probabilities; and sending the capacity reduction level to the utility provider computer system.
 2. The thermostat management server of claim 1, wherein the parameters characterizing the proposed future demand-response events comprise a capacity reduction requirement.
 3. The thermostat management server of claim 1, wherein the parameters characterizing the proposed future demand-response events comprise payout ratio vs. delivered-capacity ratio.
 4. The thermostat management server of claim 1, wherein simulating the demand response event comprises using a plurality of Monte-Carlo simulations.
 5. The thermostat management server of claim 1, wherein the one or more memory devices further comprise additional instructions that, when executed by the one or more processors, cause the one or more processors to perform additional operations comprising: loading a dispatch engine to select the combination of thermostats from the plurality of thermostats for which the energy usage can be reduced.
 6. The thermostat management server of claim 5, wherein the dispatch engine is configured to: select the combination of thermostats from the plurality of thermostats for which the energy usage can be reduced; determine whether an actual energy usage of the combination of thermostats meets the capacity reduction level; and add or subtract thermostats from the combination of thermostats during successive time intervals to meet the capacity reduction level.
 7. The thermostat management server of claim 1, wherein the information that characterizes the energy usage associated with the plurality of thermostats comprises HVAC capacities and thermal characteristics of associated buildings.
 8. The thermostat management server of claim 1, wherein simulating the demand response event comprises compensating for simulation noise.
 9. The thermostat management server of claim 1, wherein the statistical probabilities of meeting a plurality of capacity reduction levels comprises a plurality of probability curves, wherein the plurality of probability curves comprises an expected value curve, a 10^(th) percentile curve, and the 90^(th) percentile curve.
 10. A method for responding to requests to fulfill future power capacity reductions, the method comprising: receiving, from a plurality of thermostats, information that characterizes energy usage associated with the plurality of thermostats; receiving, from a utility provider computer system, parameters characterizing proposed future demand-response events; selecting, by a thermostat management server, a combination of thermostats from the plurality of thermostats for which the energy usage can be reduced; simulating, by the thermostat management server, a demand response event based on the parameters and using different weather conditions for the combination of the plurality of thermostats; generating, by the thermostat management server, statistical probabilities of meeting a plurality of capacity reduction levels based on the different weather conditions; selecting, by the thermostat management server, a capacity reduction level from the plurality of capacity reduction levels based on the statistical probabilities; and sending, by the thermostat management server, the capacity reduction level to the utility provider computer system.
 11. The method of claim 10, wherein the parameters characterizing the proposed future demand-response events comprise payout ratio vs. delivered-capacity ratio.
 12. The method of claim 10, wherein simulating the demand response event comprises using a plurality of Monte-Carlo simulations.
 13. The method of claim 10, further comprising: loading a dispatch engine to select the combination of thermostats from the plurality of thermostats for which the energy usage can be reduced. selecting the combination of thermostats from the plurality of thermostats for which the energy usage can be reduced; determining whether an actual energy usage of the combination of thermostats meets the capacity reduction level; and adding or subtracting thermostats from the combination of thermostats during successive time intervals to meet the capacity reduction level.
 14. The method of claim 10, wherein simulating the demand response event comprises compensating for simulation noise.
 15. The method of claim 10, wherein the statistical probabilities of meeting a plurality of capacity reduction levels comprises a plurality of probability curves, wherein the plurality of probability curves comprises an expected value curve, a 10^(th) percentile curve, and the 90^(th) percentile curve.
 16. A non-transitory, computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: receiving, from a plurality of thermostats, information that characterizes energy usage associated with the plurality of thermostats; receiving, from a utility provider computer system, parameters characterizing proposed future demand-response events; selecting a combination of thermostats from the plurality of thermostats for which the energy usage can be reduced; simulating a demand response event based on the parameters and using different weather conditions for the combination of the plurality of thermostats; generating statistical probabilities of meeting a plurality of capacity reduction levels based on the different weather conditions; selecting a capacity reduction level from the plurality of capacity reduction levels based on the statistical probabilities; and sending the capacity reduction level to the utility provider computer system.
 17. The non-transitory, computer-readable medium of claim 16, wherein simulating the demand response event comprises using a plurality of Monte-Carlo simulations.
 18. The non-transitory, computer-readable medium of claim 16, comprising additional instructions that cause the one or more processors to perform additional operations comprising: loading a dispatch engine to select the combination of thermostats from the plurality of thermostats for which the energy usage can be reduced. selecting the combination of thermostats from the plurality of thermostats for which the energy usage can be reduced; determining whether an actual energy usage of the combination of thermostats meets the capacity reduction level; and adding or subtracting thermostats from the combination of thermostats during successive time intervals to meet the capacity reduction level.
 19. The non-transitory, computer-readable medium of claim 16, wherein simulating the demand response event comprises compensating for simulation noise.
 20. The non-transitory, computer-readable medium of claim 16, wherein the statistical probabilities of meeting a plurality of capacity reduction levels comprises a plurality of probability curves, wherein the plurality of probability curves comprises an expected value curve, a 10^(th) percentile curve, and the 90^(th) percentile curve. 